[TrimmableTypeMap] Add CoreCLR Mono.Android.NET-Tests lane plumbing#11091
Conversation
f8106b0 to
a437455
Compare
d5aefaa to
3a8d509
Compare
1814a6d to
d0e30f6
Compare
17b123b to
e2c70fd
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e2c70fd to
87c531f
Compare
There was a problem hiding this comment.
Pull request overview
Adds CI/test-lane plumbing to run Mono.Android.NET-Tests on CoreCLR with the trimmable typemap implementation, keeping currently-unsupported test buckets explicitly excluded to maintain green coverage while follow-up runtime/generator work lands separately.
Changes:
- Adds a new
CoreCLRTrimmableAPK instrumentation lane and pins the existingCoreCLRlane tollvm-ir. - Updates
Mono.Android.NET-Tests.csprojto default to CoreCLR + exclude trimmable-specific buckets when_AndroidTypeMapImplementation=trimmable. - Centralizes additional trimmable-mode runtime test exclusions in
NUnitInstrumentation, and adjusts a few Java.Interop tests/projects to avoid unsupported coverage.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/Mono.Android-Tests/Mono.Android-Tests/Xamarin.Android.RuntimeTests/NUnitInstrumentation.cs | Adds runtime-switch-driven exclusions for categories and specific Java.Interop test names under trimmable typemap. |
| tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj | Sets defaults/exclusions for trimmable typemap runs (incl. CoreCLRTrimmable flavor). |
| tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JnienvTest.cs | Marks specific tests as TrimmableIgnore. |
| tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JavaObjectExtensionsTests.cs | Marks a specific test as TrimmableIgnore (and normalizes file header). |
| tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj | Removes JniTypeUtf8Test.cs from compilation due to unsupported APIs in the product assembly. |
| build-tools/automation/yaml-templates/stage-package-tests.yaml | Updates CoreCLR lane args and adds the new CoreCLRTrimmable lane. |
...s/Mono.Android-Tests/Mono.Android-Tests/Xamarin.Android.RuntimeTests/NUnitInstrumentation.cs
Outdated
Show resolved
Hide resolved
simonrozsival
left a comment
There was a problem hiding this comment.
🤖 AI Review Summary
Verdict: ✅ LGTM
Found 1 suggestion:
- 💡 Code organization — the trimmable category filtering is now split between
Mono.Android.NET-Tests.csprojandNUnitInstrumentation.cs(NUnitInstrumentation.cs:29). Keeping one source of truth would make the temporary exclusions easier to retire.
The lane wiring itself looks good, and I like that the unsupported cases stay explicit instead of being hidden behind runtime fallback behavior.
Review generated by android-reviewer from review guidelines.
...s/Mono.Android-Tests/Mono.Android-Tests/Xamarin.Android.RuntimeTests/NUnitInstrumentation.cs
Outdated
Show resolved
Hide resolved
02780bb to
c3a7ebc
Compare
| project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj | ||
| testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)CoreCLR.xml | ||
| extraBuildArgs: -p:TestsFlavor=CoreCLR -p:UseMonoRuntime=false | ||
| extraBuildArgs: -p:TestsFlavor=CoreCLR -p:_AndroidTypeMapImplementation=llvm-ir |
There was a problem hiding this comment.
Do you need to keep -p:UseMonoRuntime=false here?
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
619991d to
6a0644f
Compare
Summary
In scope for this PR
Out of scope and follow-up work
Local usage